﻿using Seg.Componente;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Configuration;
using System.Web.Mvc;
using TestMenu.Clases;

namespace TestMenu.Controllers
{
    public class MenuController : Base
    {
        //
        // GET: /Menu/

        public ActionResult Index()
        {
            setIdPerfil();
            return View();
        }


        public JsonResult obtenerNavBar()
        {
            Resultado retorno = new Resultado();
            try
            {
                if (!isLogout(ref retorno))
                {
                    retorno.result = 1;
                    retorno.data = Json(new
                    {
                        Usuario = Convert.ToString(Session[Constante.Sesiones.Nombre]),
                        Perfil = new Menu().getDescripcionPerfil(Convert.ToInt32(Session[Constante.Sesiones.CodigoPerfil])),
                        Oficina = Convert.ToString(Session[Constante.Sesiones.Oficina])

                    }, JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                retorno.result = 0;
                retorno.message = ex.Message;
                
            }
            return Json(retorno, JsonRequestBehavior.AllowGet);
        }
        public JsonResult CargarMenu()
        {
            Resultado retorno = new Resultado();
            try
            {
                if (!isLogout(ref retorno))
                {
                    string html = "";
                    if (Session[Constante.Sesiones.MenuCargado] == null)
                    {
                        html = new Menu().CargarMenu(Convert.ToInt32(Session[Constante.Sesiones.CodigoPerfil]),
                                                          Convert.ToString(WebConfigurationManager.AppSettings["PrefijoSist"]),
                                                          Convert.ToInt32(Session[Constante.Sesiones.CodigoUsuarioOficina]),
                                                          Convert.ToInt32(Session[Constante.Sesiones.CodigoPerdilUsuario]),
                                                          Convert.ToString(WebConfigurationManager.AppSettings["PaginaMain"]));
                        Session[Constante.Sesiones.MenuCargado] = html;
                    }
                    else
                    {
                        if (Convert.ToString(Session[Constante.Sesiones.MenuCambiaRol]) == "S")
                        {
                            html = new Menu().CargarMenu(Convert.ToInt32(Session[Constante.Sesiones.CodigoPerfil]),
                                                           Convert.ToString(WebConfigurationManager.AppSettings["PrefijoSist"]),
                                                           Convert.ToInt32(Session[Constante.Sesiones.CodigoUsuarioOficina]),
                                                           Convert.ToInt32(Session[Constante.Sesiones.CodigoPerdilUsuario]),
                                                           Convert.ToString(WebConfigurationManager.AppSettings["PaginaMain"]));
                            Session[Constante.Sesiones.MenuCargado] = html;
                        }
                        html = Convert.ToString(Session[Constante.Sesiones.MenuCargado]);
                    }

                    retorno.result = 1;
                    retorno.html = html;
                    retorno.message = Constante.MensajeGenerico.MSG_OK_GENERICO;
                }
            }
            catch (Exception ex)
            {
                retorno.result = 0;
                retorno.message = ex.Message;
               

            }

            return Json(retorno, JsonRequestBehavior.AllowGet);
        }





    }
}
